package br.com.medvagas.web.validador;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import br.com.medvagas.comum.util.JSFMensagem;
import br.com.medvagas.comum.util.UtilJSF;

/**
 * Validador de Telefone
 */
public class ValidadorTelefone implements Validator {

	public void validate(FacesContext facesContext, UIComponent uiComponent, Object valor) 
			throws ValidatorException {

		if (valor != null) {
			valor = ((String)valor).replaceAll("-", "");
			if (!isTelefoneValido(valor.toString())) {
				FacesMessage facesMessage = new FacesMessage(
						FacesMessage.SEVERITY_ERROR, 
						JSFMensagem.getMensagemAplicacaoFormatada("MSG_0022",
								UtilJSF.getLabelComponente(uiComponent.getClientId(facesContext))), 
						null);	
				throw new ValidatorException(facesMessage);
			}
			
		}
		
	}
	
	public boolean isTelefoneValido(String tel) {
		if (tel.length() != 10)
			return false;
		
		try {
			Long.parseLong(tel);
		} catch (Exception e) {
			return false;
		}
		return true;
	}

}